package com.gmss.crawler.module.test.domain;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName("person_info_toyp")
public class PersonInfoTopy extends Model<PersonInfoTopy> {

    private static final long serialVersionUID = 1L;

    /**
     * 唯一标识
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 单位表id
     */
    private Long companyId;
    /**
     * 中文名
     */
    private String name;
    /**
     * 中文名
     */
    private String altName;
    /**
     * 性别
     */
    private String sex;
    /**
     * 民族
     */
    private String nation;
    /**
     * 外文名
     */
    private String foreignName;
    /**
     * 国籍
     */
    private String nationality;
    /**
     * 出生日期
     */
    private String birthday;
    /**
     * 出生地
     */
    private String birthplace;
    /**
     * 逝世日期
     */
    private String dateOfDeath;
    /**
     * 个人简介（概述）
     */
    private String describeData;

    /**
     * 研究内容
     */
    private String researchContents;
    /**
     * 个人图像
     */
    private String imgName;
    /**
     * 最高学历毕业院校
     */
    private String school;
    /**
     * 学部
     */
    private String department;
    /**
     * 专业
     */
    private String major;
    /**
     * 职称
     */
    private String personTitle;
    /**
     * 学位
     */
    private String academicDegree;
    /**
     * 政党
     */
    private String politicalParty;
    /**
     * 成就（包含主要成就、突出成就）
     */
    private String achievement;
    /**
     * 相关链接（相关内容）
     */
    private String relatedLinks;
    /**
     * 状态 1：有效；0：无效；
     */
    private Integer status;
    /**
     * 删除标识 1：未删除；0：已删除；
     */
    private Integer delFlag;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 创建者
     */
    private String createUser;
    /**
     * 修改时间
     */
    private Date updateTime;
    /**
     * 更新者
     */
    private String updateUser;
    /**
     * 0:中国科学院-院士,1:中国科学院-已故院士,2:中国科学院-外籍院士,3:中国科学院-已故外籍院士,
     * 4:中国工程院-院士,5:中国工程院-已故院士,6:中国工程院-外籍院士,7:中国工程院-已故外籍院士,
     * 8:长江学者-特聘教授,9:两院院士,10:长江学者-讲座教授,11:青年长江学者-青年学者,12:杰出青年,
     * 多个以“,”分隔
     */
    @TableField(exist = false)
    private Integer academicianTitle;
    @TableField(exist = false)
    private String academicianTitleValue;
    /**
     * 当选年
     */
    @TableField(exist = false)
    private String electionYear;
    /**
     * 头衔年限，0：终身,5：五年，3：三年
     */
    @TableField(exist = false)
    private Integer titleYears;

    /**
     * 1：长江学者是院士标记
     */
    @TableField(exist = false)
    private Integer stamp;
    /**
     * 所在单位
     */
    @TableField(exist = false)
    private String workCompany;
    /**
     * 单位类型
     */
    @TableField(exist = false)
    private String companyType;
    /**
     * 单位所在地
     */
    @TableField(exist = false)
    private String companyAddress;
    /**
     * 科研奖项
     */
    @TableField(exist = false)
    private String scientificResearchAwards;
    /**
     * 荣誉表彰
     */
    @TableField(exist = false)
    private String honor;
    /**
     * 个人履历(人物经历)
     */
    @TableField(exist = false)
    private String resume;
    /**
     * 社会任职
     */
    @TableField(exist = false)
    private String socialService;
    /**
     * 论文总条数
     */
    @TableField(exist = false)
    private String paperCount;
    /**
     * 专利总条数
     */
    @TableField(exist = false)
    private String patentCount;
    /**
     * 出版物总条数
     */
    @TableField(exist = false)
    private String publicationCount;

    /**
     *excelID
     */
    @TableField(exist = false)
    private Long caseId;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
